package com.hymjweb.demo.hymj.master_bill_manage.load.bean;

import com.hymjweb.demo.framework.util.pojoContrast.FieldMeta;
import lombok.Data;

import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * 分单航班配载表 b_native_bill_load_flight UK(masterBillFlightId+nativeBillId)
 */
@Table(name = "b_native_bill_load")
@Data
public class BNativeBillLoadPojo implements Serializable {

    @FieldMeta(columnname = "id", name = "分单载表ID")
    private String id;

    @FieldMeta(columnname = "master_bill_id", name = "主单ID",comment = "主单ID,关联b_master_bill_flight.id或b_master_bill_auto.id")
    private String masterBillId;

    @FieldMeta(columnname = "master_bill_type_id", name = "分单载表ID",comment = "主单类型ID,关联xt_dic.id key='XT_DIC_MASTER_BILL_TYPE'")
    private Long masterBillTypeId;

    @FieldMeta(columnname = "native_bill_id", name = "分单表ID",comment = "分单表ID,关联b_native_bill.id")
    private String nativeBillId;

    @FieldMeta(columnname = "airlines_id", name = "航空公司ID",comment = "航空公司ID,分单是空运时关联xt_airlines.id,如果是汽运，则为空")
    private String airlinesId;

    @FieldMeta(columnname = "flight_no", name = "班次号",comment = "班次号,关联b_flight.id,空运时不能为空，汽运时为空")
    private String flightNo;

    @FieldMeta(columnname = "flight_name", name = "班次名称",comment = "班次名称，类似于MU1233或苏B1234")
    private String flightName;

    @FieldMeta(columnname = "flight_date", name = "班次日期",comment = "班次日期")
    private Date flightDate;


    @FieldMeta(columnname = "load_number", name = "配载分单件数",comment = "配载分单件数")
    private Long loadNumber;

    @FieldMeta(columnname = "load_actual_weight", name = "配载分单实重",comment = "配载分单实重")
    private Double loadActualWeight;

    @FieldMeta(columnname = "load_chargeable_weight", name = "配载分单计重",comment = "配载分单计重")
    private Double loadChargeableWeight;

    @FieldMeta(columnname = "load_volume", name = "配载分单体积",comment = "配载分单体积")
    private Double loadVolume;


    // 主单当前的计费重量 = 主单原计费重量 - 主单拉货的计费重量(如果未拉货，就是0)

    // 分摊航空运费成本 = 对应主单航空运费(航空运费 + 拉货航空运费调整金额) * 配载分单计费重量 / 主单当前的计费重量
    @FieldMeta(columnname = "share_transport_cost_amount", name = "分摊航空运费成本",comment = "分摊航空运费成本 = 对应主单航空运费(航空运费 + 拉货航空运费调整金额) * 配载分单计费重量 / 主单当前的计费重量")
    private Double shareTransportCostAmount;

    // 分摊地面运费成本 = 对应主单地面运费(地面运费 + 拉货地面运费调整金额) * 配载分单计费重量 / 主单当前的计费重量
    @FieldMeta(columnname = "share_transport_cost_amount", name = "分摊地面运费成本",comment = "分摊地面运费成本 = 对应主单地面运费(地面运费 + 拉货地面运费调整金额) * 配载分单计费重量 / 主单当前的计费重量")
    private Double shareGroundAmount;

    // 分摊航空附加费用成本 = 对应主单航空附加费用(航空附加费用 + 拉货航空附加费用调整金额) * 配载分单计费重量 / 主单当前的计费重量
    @FieldMeta(columnname = "share_transport_cost_amount", name = "分摊航空附加费用成本",comment = "分摊航空附加费用成本 = 对应主单航空附加费用(航空附加费用 + 拉货航空附加费用调整金额) * 配载分单计费重量 / 主单当前的计费重量")
    private Double shareAirlinesAddCostAmount;

    // 分摊其他费用成本 = 对应主单其他费用(其他费用 + 拉货其他费用调整金额) * 配载分单计费重量 / 主单当前的计费重量
    @FieldMeta(columnname = "share_transport_cost_amount", name = "分摊其他费用成本",comment = "分摊其他费用成本 = 对应主单其他费用(其他费用 + 拉货其他费用调整金额) * 配载分单计费重量 / 主单当前的计费重量")
    private Double shareOtherChargesAmount;

    // 分摊的总成本 = 分摊航空运费成本 + 分摊地面运费成本 + 分摊航空附加费用成本 + 分摊其他费用成本
    @FieldMeta(columnname = "share_transport_cost_amount", name = "分摊的总成本",comment = "分摊的总成本 = 分摊航空运费成本 + 分摊地面运费成本 + 分摊航空附加费用成本 + 分摊其他费用成本")
    private Double shareTotalCostAmount;

    // 分摊的总成本说明
    @FieldMeta(columnname = "share_total_cost_comment", name = "分摊的总成本说明",comment = "分摊的总成本说明")
    private String shareTotalCostComment;

}
